package db

import(
	// "fmt"
	"context"
	"plugin"
)

var pPlugin *plugin.Plugin
var soPath string = "/usr/local/go/v1.21.10/src/fpgf/fpy/.so/dcs/db/pkg.so"

type TDb struct {
	Db any
}

func init() {
	iniPlugin()
}
func iniPlugin() {
	if pPlugin == nil {
		pPluginTmp, errTmp := plugin.Open(soPath)
		if errTmp != nil {
			panic(errTmp)
		}
		pPlugin = pPluginTmp
	}
	
	return
}
func Ctx(ctx context.Context) (db *TDb) {
	Ctx2, err := pPlugin.Lookup("Ctx")
	if err != nil {
		panic(err)
	}
	db2 := Ctx2.(func(context.Context)any)(ctx)

	db = new(TDb)
	db.Db = db2

	return
}

